---
title: "Get Worker Pro"
hide_table_of_contents: true
---

import clsx from "clsx";

import styles from "@site/src/css/common.module.css";
import pricingStyles from "./pricing.module.css";

## Get Worker Pro

Graphile Worker is free and open-source, and is sufficient for many peoples
needs. Worker Pro is a propriety preset for Graphile Worker, which adds advanced
and &ldquo;quality of life&rdquo; features which can help your team to save
development costs and removes the need to scale to zero while upgrading Worker
versions.

Worker Pro is available as a perk for
[Graphile sponsors](https://graphile.org/sponsor/). Businesses which use
Graphile Worker should explore sponsorship as the first option to obtain Worker
Pro, as sponsorship also helps to fund development and maintenance of the entire
Graphile suite, as well as enabling us to advance the software they rely on. At
the time of writing, there are no other ways to obtain Worker Pro.

:::tip Launch Offer

Worker Pro is in early access with a limited feature set; during this period get
access by sponsoring at **just $25+ /mo** and, as a thank you for being an early
adopter, keep this preferential rate for at least 18 months after the launch
offer ends; saving you a minimum of $1300 over the regular price of $100 /month.

:::

### Feature comparison

<p className={pricingStyles.showMobile}>
  There are several tiers of sponsorship available; The &ldquo;Production
  Sponsor&rdquo; tier (<strong>Sponsor+</strong>) is suitable for many small and
  medium businesses while the &ldquo;Private Advisor Tier&rdquo; (
  <strong>Enterprise</strong>) gives access to a complimentary{" "}
  <a href="https://www.graphile.org/support/">Development Support </a> contract
  and discounted consultancy packages, perfect for enterprises and those who
  need bespoke advice and support on their project.
</p>

<p className={pricingStyles.showFull}>
  Below, we have listed the differences between Graphile Worker and sponsoring
  Graphile. There are several tiers of sponsorship available; The
  &ldquo;Production Sponsor&rdquo; tier is suitable for many small and medium
  businesses with some perks such as free access to the database tool{" "}
  <a href="https://pgrita.com">pgRITA </a> and discounted consultancy calls. The
  &ldquo;Private Advisor Tier&rdquo; gives access to a complimentary{" "}
  <a href="https://www.graphile.org/support/">Development Support </a> contract
  and discounted consultancy packages, perfect for enterprises and those who
  need bespoke advice and support on their project.
</p>

<table className={pricingStyles.pricingTable}>
<thead>

<tr>
  <th rowspan="2"></th>
  <th>
    <Icon icon="fa-brands fa-github"/> Graphile Worker
  </th>
  <th>
    <span className={styles.sponTag}>
      <span className={styles.firstLetter}>S</span>
    </span>{" "}
    Launch Offer
  </th>
  <th><span className={styles.sponTag}><span className={styles.firstLetter}>s</span></span>{" "}Production Sponsor</th>
  <th><span className={styles.sponTag}><span className={styles.firstLetter}>s</span></span>{" "}Private Advisor Tier</th>
</tr>
<tr>
  <th>
    <span className={styles.tooltipped}>
    OSS projects, not-for-profits
    <span class={styles.tooltiptext}>
    Also, hobbyists, pre-revenue start-ups, and any other use 
    where the Pro features are either not needed or can be re-implemented by your team
    </span>
    </span>
  </th>
  <th>Small businesses</th>
  <th>Small and medium businesses</th>
  <th>Enterprises</th>
</tr>
</thead>

<tbody>

<tr>
  <th>Job queue for PostgreSQL</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      High performance
      <span className={styles.tooltiptext}>
        Uses <code>SKIP LOCKED</code>, resulting in faster fetches
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Low latency
      <span className={styles.tooltiptext}>
        Uses <code>LISTEN</code>/<code>NOTIFY</code>; typically under 3ms from
        task schedule to execution
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Parallel by default</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Standalone and embedded modes</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Automatic retries</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Scheduling &amp; debouncing</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Task de-duplication</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Cron jobs
      <span class={styles.tooltiptext}>
        Crontab-like scheduling for recurring tasks with optional backfill
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Easy migration
      <span class={styles.tooltiptext}>
        Export jobs and migrate to a dedicated job queue later
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <a href="./docs/pro/recovery/">Crashed worker recovery</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <a href="./docs/pro/migration/">Live migration to new Worker versions</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Future quality of life improvements<sup className={styles.footnote}>‡</sup>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Free access to <a href="https://pgrita.com">pgRITA</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Access to <a href="https://postgraphile.org">PostGraphile Pro</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Logo featured on <a href="https://graphile.org/sponsor">graphile.org</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>Name Only</td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Logo featured in project</th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Sponsor's discount</th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Discounted <a href="https://benjie.dev/book">video calls</a>
    </span>
    <span className={pricingStyles.showMobile}>
      <Icon icon="fa-solid fa-square-phone-flip" size="lg" />
    </span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Discounted <a href="https://benjie.dev/book">video calls</a>
    </span>
    <span className={pricingStyles.showMobile}>
      <Icon icon="fa-solid fa-square-phone-flip" size="lg" />
    </span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Discounted consultancy packages
    </span>
    <span className={pricingStyles.showMobile}>
      <Icon icon="fa-solid fa-circle-check" size="lg" />
    </span>
  </td>
</tr>

<tr>
  <th>Support</th>
  <td>
    <span className={pricingStyles.showFull}>via community Discord</span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>via community Discord</span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Priority support via community Discord
    </span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    Within your own company
    <br />
    <Icon icon="fa-brands fa-github" size="lg" />
    &nbsp;
    <Icon icon="fa-brands fa-discord" size="lg" />
    &nbsp;
    <Icon icon="fa-brands fa-slack" size="lg" />
    &nbsp;
    <Icon icon="fa-solid fa-square-phone-flip" size="lg" />
  </td>
</tr>

<tr>
  <th>License</th>
  <td>MIT</td>
  <td>Proprietary</td>
  <td>Proprietary</td>
  <td>Proprietary</td>
</tr>

<tr>
  <th>Pricing</th>
  <td>
    <strong>
      <a href="/sponsors/">Crowd-funded</a>
    </strong>
    <br />
    <span className={(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>Please give back</span>
    </span>
  </td>
  <td>
  <span className={styles.small}>From{" "}</span>
    <strong>
      <span className={clsx(styles.small, pricingStyles.showFull)}>
      <s>$100/mo</s>
      </span>{" "}
      $25<small>/mo USD</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>GitHub Sponsors</span>
    </span>
  </td>
  <td>
    <span className={styles.small}>From</span>{" "}
    <strong>
      $100<small>/mo USD</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>GitHub Sponsors or annual invoicing</span>
    </span>
  </td>
  <td>
    <span className={styles.small}>From</span>{" "}
    <strong>
      $1,500<small>/mo USD</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>GitHub Sponsors or bespoke invoicing</span>
    </span>
  </td>
</tr>
</tbody>
  
<tfoot>

<tr>
  <th></th>
  <td></td>
  <td>
    {" "}
    <a
      className={clsx("button button--outline", pricingStyles.outlineButton)}
      href="https://github.com/sponsors/benjie"
    >
      GitHub Sponsors
    </a>
  </td>
  <td>
    <a
      className={clsx("button button--primary", pricingStyles.primaryButton)}
      href="https://github.com/sponsors/benjie"
    >
      GitHub Sponsors
    </a>
  </td>
  <td>
    <a
      className={clsx("button button--outline", pricingStyles.outlineButton)}
      href="mailto:info@graphile.org?subject=Private%20Advisor%20tier%20question"
    >
      Get in contact
    </a>
  </td>
</tr>

</tfoot>

</table>

<div className={styles.footnoteText}>
  <strong>
    <sup>‡</sup>
  </strong>{" "}
  Worker Pro will contain advanced features and quality of life improvements
  only. No features of Graphile Worker have been removed or obscured; no current
  features will ever be moved to the Pro preset.
</div>

### Graphile Worker is OSS under the MIT license

Graphile Worker is sufficient for many peoples needs; it's the only version that
existed for the first 5 years of the project and many people are running it with
great success in production. No features in Graphile Worker have been removed or
obscured, and it continues to be developed and maintained, supported by
contributions from the community,
[professional services](https://graphile.org/support/) contracts and
[GitHub Sponsors](/sponsors/).

### Worker Pro is a propriety preset for those who wish to benefit from &ldquo;quality of life&rdquo; improvements

The Worker Pro preset enhances Graphile Worker with additional features and is
located in a sponsors only GitHub repository.

Worker Pro is not open source, but is "source available". The source code
license forbids publishing and redistribution, but is otherwise very flexible,
allowing you to make your own modifications for internal usage should you need
to.

### How do users access Worker Pro?

You can request access from @JemGillam or @Benjie via the community
[Discord](https://discord.gg/graphile) or
[get in touch via email](mailto:team@graphile.org?subject=Enterprise%20enquiry).
Access to Worker Pro grants access to the GitHub Packages module and the source
code hosted on GitHub. Worker Pro can be installed using an authenticated
`authToken`, see the [Worker Pro documentation](/docs/pro#getting-access) for
the full details.

### Does Worker Pro come with direct support?

Access to Worker Pro grants access to its repository, where users can file
issues and open discussions about Worker Pro. We also run community support
through our [Discord Server](https://discord.gg/graphile) where anyone can ask
and answer questions about Worker and the Graphile suite of tools. Sponsors
receive priority support from our maintainers within our Discord Server.

Sponsors on the "Private Advisor" tier or above can enter a complimentary
Development Support contract and receive support through their company
Slack/GitHub organization. Prices start at $1,500 a month, with no minimum term.
More information can be found at the
[Development Support page](https://graphile.org/support/) or you can
[get in touch via email](mailto:team@graphile.org?subject=Enterprise%20enquiry).

### I'm an enterprise user and need X, Y and Z

Please [get in touch](mailto:team@graphile.org?subject=Enterprise%20enquiry) and
we'll be happy to help!

### What is the Worker Pro license?

The license forbids publishing and redistribution but otherwise allows you to
make your own modifcations for internal usage:

```
Copyright © 2024 Benjie Gillam

Use and modification of this software and associated documentation files (the
“Software”) is permitted, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software. The Software is not to be
distributed, published, sold, or sub-licensed.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```

<small>
  <em>Last reviewed: 20th September 2024</em>
</small>
